import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

//使用Stream流和Lambda表达式找出整数列表中的最大值
//给定一个包含整数的列表，使用Stream流和Lambda表达式找出列表中的最大值。
public class StreamAndLambdaExample1 {
    public static void main(String[] args) {
        //Arrays.asList用于将数组转换成一个固定大小的列表
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        // 首先，将List转换为Stream，以便进行流式处理
        Integer maxNumber = numbers.stream()
                // .max()方法需要一个Comparator来比较流中的元素
                // 这里使用Lambda表达式(a, b) -> Integer.compare(a, b)来定义这个比较器
                // 这个比较器会按照自然顺序（即数值大小）来比较两个整数
                .max((a, b) -> Integer.compare(a, b))
                // 取出值
                .get();

        System.out.println("最大值是: " + maxNumber);
    }
}
